From: Florian Müllner Date: Fri, 2 Dec 2011 15:54:27 +0000 (+0100) Subject: workspace-thumbnails: Emit 'window-drag-cancelled' X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~7265 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=47b55e29d45fc7e1fdf72a4b2d0769fbe8d47d1b;p=gnome-shell.git workspace-thumbnails: Emit 'window-drag-cancelled' The dash handles 'window-drag-cancelled', to be able to do the animations for drag snap-back and size changes in parallel. As the signal is not emitted for previews in the workspace switcher, it does not work in that case. --- diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js index 33059900a..9c006548c 100644 --- a/js/ui/workspaceThumbnail.js +++ b/js/ui/workspaceThumbnail.js @@ -51,6 +51,7 @@ const WindowClone = new Lang.Class({ dragActorMaxSize: Workspace.WINDOW_DND_SIZE, dragActorOpacity: Workspace.DRAGGING_WINDOW_OPACITY }); this._draggable.connect('drag-begin', Lang.bind(this, this._onDragBegin)); + this._draggable.connect('drag-cancelled', Lang.bind(this, this._onDragCancelled)); this._draggable.connect('drag-end', Lang.bind(this, this._onDragEnd)); this.inDrag = false; }, @@ -108,6 +109,10 @@ const WindowClone = new Lang.Class({ this.emit('drag-begin'); }, + _onDragCancelled : function (draggable, time) { + this.emit('drag-cancelled'); + }, + _onDragEnd : function (draggable, time, snapback) { this.inDrag = false; @@ -386,6 +391,10 @@ const WorkspaceThumbnail = new Lang.Class({ Lang.bind(this, function(clone) { Main.overview.beginWindowDrag(); })); + clone.connect('drag-cancelled', + Lang.bind(this, function(clone) { + Main.overview.cancelledWindowDrag(); + })); clone.connect('drag-end', Lang.bind(this, function(clone) { Main.overview.endWindowDrag();